package com.healthcloud.service;

import java.util.List;

import com.healthcloud.dto.res.PatientInstrumentDto;
import com.healthcloud.entity.InstrumentInfoEntity;
import com.healthcloud.utils.PageParam;

/**
 * 
 * @author zj
 * 2017年7月24日 下午4:43:34
 */
public interface InstrumentInfoService {

	/**
	 * 添加设备
	 */
	void add(InstrumentInfoEntity entity);
	
	/**
	 * 查找设备
	 * @return
	 */
	List<InstrumentInfoEntity> findByEntityAll(InstrumentInfoEntity entity);
	
	/**
	 * 根据sn号查找设备
	 * @return
	 */
	InstrumentInfoEntity getBySn(String sn);

	/**
	 * 获取医院的已租设备数量
	 * @param ids
	 * @return
	 */
    Integer totalByHospitalIds(String ids);

	/**
	 * 获取医院的已租设备
	 * @param ids
	 * @return
	 */
    List<String> listTotalByHospitalIds(String ids);

	/**
	 * 医院最近使用的设备数量
	 * @param ids
	 * @param day
	 * @return
	 */
	Integer useTotalByHospitalIds(String ids, int day);

	/**
	 * 医院最近使用的设备
	 * @param ids
	 * @param day
	 * @return
	 */
	List<String> listUseTotalByHospitalIds(String ids, int day);

	/**
	 * 医院最近使用设备次数
	 * @param ids
	 * @param day
	 * @return
	 */
	Integer useTimesByHospitalIds(String ids, int day);

	/**
	 * 医院最近使用设备
	 * @param ids
	 * @param day
	 * @return
	 */
	List<String> listUseTimesByHospitalIds(String ids, int day);

	List<PatientInstrumentDto> listInfosBySns(List<String> snList);

	List<PatientInstrumentDto> listUnUseInstrument(String hospIds, Integer days);

	List<PatientInstrumentDto> pageForUnUseInstrument(String hospIds, Integer days, PageParam pageParam);

}